package com.sg.service.biz.app.nb;

import cn.hutool.core.bean.BeanUtil;
import com.sg.dto.biz.app.req.CalculateAcceptAboveFieldsReqDto;
import com.sg.dto.biz.app.req.ImplementAcceptFieldByStandardDataReqDto;
import com.sg.dto.biz.app.req.ImplementElevenReceivingFieldReqDto;
import com.sg.dto.biz.app.res.CalculateAcceptAboveFieldsRespDto;
import com.sg.dto.biz.app.res.ImplementAcceptFieldByStandardDataRespDto;
import com.sg.dto.biz.app.res.ImplementElevenReceivingFieldRespDto;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

/**
 * @author ： 手工接入方法
 * @version 1.0
 * @since 2022/5/28 15:32
 */
@Service
public class NbExecuteCycle {
    /**
     * code:receptionService
     * name:M3-接收入参字段
     * desc:undefined
     * gen by moon at 7/10/2023, 1:49:06 AM
     **/
    @Trace(operationName = "M3-接收入参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public CalculateAcceptAboveFieldsRespDto calculateAcceptAboveFields(CalculateAcceptAboveFieldsReqDto reqDto) {
        return BeanUtil.toBean(reqDto, CalculateAcceptAboveFieldsRespDto.class);
    }

    /**
     * code:receptionService
     * name:约定出参：执行周期ID，周期ID
     * desc:undefined
     * gen by moon at 10/5/2023, 4:08:55 PM
     **/
    @Trace(operationName = "约定出参：执行周期ID，周期ID")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementAcceptFieldByStandardDataRespDto implementAcceptFieldByStandardData(ImplementAcceptFieldByStandardDataReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementAcceptFieldByStandardDataRespDto.class);
    }

    /**
     * code:receptionService
     * name:约定出参：上一个执行周期-目标周期ID以及周期ID
     * desc:undefined
     * gen by moon at 10/7/2023, 9:28:31 PM
     **/
    @Trace(operationName = "约定出参：上一个执行周期-目标周期ID以及周期ID")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementAcceptFieldRespDto implementAcceptField(ImplementAcceptFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementAcceptFieldRespDto.class);

    }

    /**
     * code:receptionService
     * name:M3-接收出参字段
     * desc:undefined
     * gen by moon at 5/26/2024, 8:05:08 PM
     **/
    @Trace(operationName = "M3-接收出参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementElevenReceivingFieldRespDto implementElevenReceivingField(ImplementElevenReceivingFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementElevenReceivingFieldRespDto.class);
    }
    //手工接入方法
}
